/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufrn.dca.controle;

/**
 *  Sintoniza o controlador pid pelo método de Ziegle-Nichols
 * 
 * @author allan
 */
public class ZN {
    
    private double kc;
    
    private double ti;
    
    private double td;
    
    /**
     * 
     * @param Ku ganho critico 
     * @param Pu periodo de oscilação
     */
    public ZN(double Ku, double Pu){
        this.kc = 0.6*Ku;
        this.ti = 0.5*Pu;
        this.td = 0.125*Pu;
    }
    
    /**
     * Retorna ganho proporcional
     * @return 
     */
    public double kp(){
        return kc;        
    }
    
    /**
     * Retorna ganho integral
     * @return 
     */
    public double ki(){
        return 1/ti;
    }
    
    /**
     * Retorna ganho derivativo
     * @return 
     */
    public double kd(){
        return td;
    }
}
